package main

import (
	"fmt"
)

func main() {
	//创建一个wu缓存channel
	ch := make(chan int)
	go func() {
		for i := 0; i < 5; i++ {
			ch <- i //往通道写数据
		}
		//不需要再写数据时，关闭channel
		close(ch) //关闭了，不能再向它发数据，会panic 报错如下
		//ch <- 666
	}()
	for num := range ch {
		fmt.Println("num = ", num)
	}
}

func main01() {
	//创建一个wu缓存channel
	ch := make(chan int)
	go func() {
		for i := 0; i < 5; i++ {
			ch <- i //往通道写数据
		}
		//不需要再写数据时，关闭channel
		close(ch) //关闭了，不能再向它发数据，会panic 报错如下
		//ch <- 666
	}()
	for {
		//如果ok 为 true，说明管道没有关闭
		if num, ok := <-ch; ok == true { //通过这个方式，可以遍历 channel
			fmt.Println("num = ", num)
		} else {
			//管道关闭
			break
		}
	}
}
